import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import './assets/font/iconfont.css'
import http from './http/http'
import 'vue-event-calendar/dist/style.css' //1.1.10之后的版本，css被放在了单独的文件中，方便替换
import vueEventCalendar from 'vue-event-calendar'  //npm install vue-event-calendar --save

Vue.config.productionTip = false
Vue.prototype.$axios = http
Vue.use(element)
Vue.use(vueEventCalendar, {locale: 'zh', color: '#66B1FF', weekStartOn: '0'})
//每一次路由跳转前 我要干的事情
router.beforeEach((to, from, next) => {
    // 要去的页面是否需要登录
    if (to.meta.isLogin) {
        // 要去的页面需要登录
        // 我在这里就要判断 系统现在登录没有
        if (store.state.user.userName) {
            // 代表系统登录了
            // 在登录的前提下  我要判断这个用户有没有进入该页面的权限   满足2个要点
            // 1 该路由允许哪些权限进入 to.meta.roles  这个数组里面装的就是可以进入拦截的权限
            // 2.该用户的权限是什么  store.state.user.type
            // 3 2步骤的权限是否在1步骤的数组里面 如果在证明可以进入  否则不允许进入
            if (to.meta.roles) {
                let arr=to.meta.roles.filter(item => item === store.state.user.userRole);
                if(arr.length>0){
                    next()
                }else {
                    console.log('权限不足！');
                    //router.push('/index/')
                    return false
                }
            } else {
                next()
            }
        }
        else {
            // 代表系统没登录
            router.push('/login')
        }
    } else {
        next()
    }
})


new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')
